package com.codefish.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.codefish.dto.AllPermLeverDTO;
import com.codefish.dto.BaseCommonTypeDto;
import com.codefish.entity.SysBaseCommonEntity;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 
 *
 * @author codefish
 * @email cool_fish@aliyun.com
 * @date 2021-04-23 11:45:28
 */
public interface SysBaseCommonService extends IService<SysBaseCommonEntity> {
    /**
     * 获取公共字段分类
     * @return
     */
    List<BaseCommonTypeDto> getBaseCommonTypeList();

    /**
     * 条件分页查询
     * @param params
     * @return
     */
    IPage<SysBaseCommonEntity> getPageByParams(Map<String, Object> params);

    void updateStatusAndIsDel(Long[] ids);

    /**
     * 删除单个公共字段
     * @param id
     * @return
     */
    boolean deleteOne(Long id);

    /**
     * 查询是否重复
     * @param sysBaseCommon
     * @return
     */
    int selectCount(SysBaseCommonEntity sysBaseCommon);

    /**
     * 判断名称、分类和启用状态为启用
     * @param sysBaseCommon
     * @return
     */
    int queryCountByNameAndType(SysBaseCommonEntity sysBaseCommon);

    /**
     * 获取所有权限类型
     * @return
     */
    List<AllPermLeverDTO> getAllPermLever();

    /**
     * 获取所有行业类型
     * @return
     */
    List<BaseCommonTypeDto> getAllCompType();

    /**
     * 获取所有行业
     * @return
     */
    List<BaseCommonTypeDto> getAllCompIndustry();

}

